﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Ferreteria.Forms
{
    public partial class frmGestionProveedores : Form
    {
        DisancoEntities context;
        Proveedores Prov;
        DataTable dtProv;

        public frmGestionProveedores()
        {
            InitializeComponent();
            btnEditarProv.Enabled = false;
            btnVerPreciosVenta.Enabled = false;

            CargarGrillaProv();
            dgvProveedores.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvProveedores.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvProveedores.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

        }

        private void CargarGrillaProv()
        {
            context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);

            dtProv = new DataTable();
            dtProv.Columns.Add("id");
            dtProv.Columns.Add("Nombre");
            dtProv.Columns.Add("Dirección");
            dtProv.Columns.Add("Localidad");
            dtProv.Columns.Add("Cond. IVA");
            dtProv.Columns.Add("CUIT");
            dtProv.Columns.Add("Telefono");
            dtProv.Columns.Add("Tele-Fax");
            dtProv.Columns.Add("Pagina Web");
            dtProv.Columns.Add("Nombre Contacto");
            dtProv.Columns.Add("Telefono Contacto");
            dtProv.Columns.Add("E-mail Contacto");

            try
            {
                foreach (var Prov in context.Proveedores)
                {
                    DataRow filaProv = dtProv.NewRow();
                    filaProv["id"] = Prov.prov_id;
                    filaProv["Nombre"] = Prov.prov_nombre;
                    filaProv["Dirección"] = Prov.prov_direccion;
                    filaProv["Localidad"] = Prov.prov_localidad;
                    filaProv["Cond. IVA"] = Prov.prov_condicion_iva;
                    filaProv["CUIT"] = Prov.prov_cuit;
                    filaProv["Telefono"] = Prov.prov_tel1;
                    filaProv["Tele-Fax"] = Prov.prov_telefax;
                    filaProv["Pagina Web"] = Prov.prov_web;
                    filaProv["Nombre Contacto"] = Prov.prov_contacto_nombre;
                    filaProv["Telefono Contacto"] = Prov.prov_contacto_tel;
                    filaProv["E-mail Contacto"] = Prov.prov_contacto_email;

                    dtProv.Rows.Add(filaProv);
                }
                dgvProveedores.DataSource = dtProv;
                dgvProveedores.Columns["id"].Visible = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            
            if (dgvProveedores.Rows.Count > 0)
            {
                btnEditarProv.Enabled = true;
                btnVerPreciosVenta.Enabled = true;
                int ProvID = Convert.ToInt32(dgvProveedores.Rows[0].Cells["id"].Value.ToString());
                Prov = context.Proveedores.FirstOrDefault(prov => prov.prov_id.Equals(ProvID));
            }
            else
            {
                btnEditarProv.Enabled = false;
                btnVerPreciosVenta.Enabled = false;
            }
        }

        private void btnAgregarProv_Click(object sender, EventArgs e)
        {
            FrmAgregarProv agregarProv = new FrmAgregarProv();
            DialogResult dr = agregarProv.ShowDialog();

            if (dr == System.Windows.Forms.DialogResult.OK)
                CargarGrillaProv();
        }

        private void btnSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnEditarProv_Click(object sender, EventArgs e)
        {
            context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);
            int ProvID = Convert.ToInt32(dgvProveedores[0, dgvProveedores.CurrentRow.Index].Value.ToString());
            Prov = context.Proveedores.FirstOrDefault(prov => prov.prov_id.Equals(ProvID));
            Forms.FrmModificarProv modificarprov = new FrmModificarProv(Prov);
            modificarprov.ShowDialog();
            CargarGrillaProv();

        }

        private void dgvProveedores_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);
            int ProvID = Convert.ToInt32(dgvProveedores[0, dgvProveedores.CurrentRow.Index].Value.ToString());
            Prov = context.Proveedores.FirstOrDefault(prov => prov.prov_id.Equals(ProvID));
            btnEditarProv.Enabled = true;
            btnVerPreciosVenta.Enabled = true;
            context = null;
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {

            FrmProvPreciosVenta PreciosVentaProv = new FrmProvPreciosVenta(Prov);
            PreciosVentaProv.ShowDialog();


        }
    }
}
